package cn.wolfcode.rbac.interptor;

import cn.wolfcode.rbac.domain.Employee;
import cn.wolfcode.rbac.util.UserContext;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

// 自定义拦截器，创建出来一个类，继承HandlerInterceptorAdapter类
public class CheckLoginIntercptor extends HandlerInterceptorAdapter {
    //前置拦截方法
    //用户请求到后台的服务器的过程中先走preHandler的方法
    //方法的返回值是boolean，如果为true表示放行，如果为false表示拦截
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object handle) throws Exception{
        //判断用户是否登录
        //上session中去拿值
        Employee employee = UserContext.getCurrent();
        //判断是需要一个条件的
        //如果没有登录 跳转到登录界面
        if(employee == null){
            response.sendRedirect("/login.jsp");
            return  false;
        }
        return true;
    }
}
